<template>
  <ul class="list">
    <li
      v-for="(item, index) in conlist"
      :key="index"
      @click="$router.push('/about/' + item.id)"
    >
      <img :src="item.author.avatar_url" alt="" />
      <h6>{{ item.title }}</h6>
      <h5>{{ filterTime(item.create_at) }}</h5>
    </li>
  </ul>
</template>

<script>
import { ref, reactive, toRefs } from "vue";
import { useStore } from "vuex";
import { useRouter, useRoute } from "vue-router";
export default {
  props: {
    conlist: Array,
  },
  setup(props, ctx) {
    const store = useStore();
    const router = useRouter();
    const route = useRoute();
    const data = reactive({});

    const filterTime = (val) => {
      let result;
      let timePublish = new Date(val); // 传入的时间
      let timeNow = new Date(); // 现在的时间
      let minute = 1000 * 60;
      let hour = minute * 60;
      let day = hour * 24;
      let month = day * 30;
      let year = month * 12;
      let diffValue = timeNow - timePublish; // 时间相差的值，是毫秒
      //   console.log(diffValue);
      let diffMonth = diffValue / month;
      let diffWeek = diffValue / (7 * day);
      let diffDay = diffValue / day;
      let diffHour = diffValue / hour;
      let diffMinute = diffValue / minute;
      let diffYear = diffValue / year;
      if (diffValue < minute) {
        result = "刚刚";
      } else if (diffYear > 1) {
        result = parseInt(diffYear) + "年前";
      } else if (diffMonth > 1) {
        result = parseInt(diffMonth) + "月前";
      } else if (diffWeek > 1) {
        result = parseInt(diffWeek) + "周前";
      } else if (diffDay > 1) {
        result = parseInt(diffDay) + "天前";
      } else if (diffHour > 1) {
        result = parseInt(diffHour) + "小时前";
      } else if (diffMinute > 1) {
        result = parseInt(diffMinute) + "分钟前";
      }
      return result;
    };

    return { ...toRefs(data), filterTime };
  },
};
</script>

<style lang="scss">
.list {
  li {
    border-bottom: 1px solid #ccc;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    img {
      width: 80px;
      height: 80px;
    }
  }
}
</style>
